Over the entire Internet there is only a single tutorial concerning savegame and mech edition for Crescent Hawks Revenge, and it does give only the briefest hint of into on the actual mech stats, telling people to "go and find it out themselves". Well, it's about time somebody not only did this but told all the folk out there how to do it. First of all, get yourself a hex editor. Hex Workshop is what I use and it's pretty decent. Second, prepare for a lot of technobabble from now on. All of the information contained in this file has been implemented in the "RevEdit" tool. If you find out about any of the data I was unable to decipher or find any erros in this guide, please contact me so that I can also update RevEdit accordingly. Note: Altough I use the term "mech" here, the mentioned files and methods apply to the vehicles in the game as well. Yep, they are treated as mechs in all respect, including armor and hardpoints (that's critical slots for you, Battletech purists). This file assumes that you treat the zero-byte just before the byte with the 'mech type signature as initial byte (00h). Offsets listed apply to the mech 00 in mechtype.dat, which is Locust. To receive offsets for data of subsequent mechs, just add 96h x number of mech in the string. In mechtype.dat the mechs are listed in order determined by their ID numbers, while in savegame.dat it is determined by mechs present in each lance and the save slot that was used. Please remember that they are listed as hexadecimal, not decimal values, and therefore offset 20 means 32nd byte, offset 95 - 150th byte etc. All Mech names are stored in the file revenge.exe as plain text data, beginning on the offset 03B056. (BTW: List of pilot names begins just after). You can change them, but it would be better to never exceed the length of the original name. If the desired name is shorter then the one replaced, then replace the obsolete letters with spaces. The format presented here is used in the file savegame.dat with the mechs in your saved games as well as in mechtype.dat, where the game has all its mech data stored. Each data string contains EXACTLY 150 bytes (96 h), no more no less. If you want to quickly find a Mech in the mechdata.dat, you can easily do it by applying the following data to the search field of your hex editor: 00[Mech ID][Mech speed walking][optionally Mech speed running] -this is practically a signature unique to each type of a Battlemech. 00 - Looks like this byte is Friend-or-Foe identification, where 00 means "enemy" and 01-"friendly" This is only my guess, though. Another guess might be that it is actually indicator of 'Mech functionality status (00-in repair, 01-functional). 01 - Mech ID number - determines name displayed during the game (explained later) 02 - Speed (Walking) 03 - Number of Jump Jets 04-0B - Current structure (as per Max Structure, below) 0C-16 - Current armor (as per Max Armor, below) Max Structure 17 - Head 18 - Left Arm 19 - Left Torso 1A - Center Torso 1B - Right Torso 1C - Right Arm 1D - Left Leg 1E - Right Leg Max Armor 1F - Head 20 - Left Arm 21 - Left Torso 22 - Center Torso 23 - Right Torso 24 - Right Arm 25 - Left Leg 26 - Right Leg 27 - Left Torso rear 28 - Center Torso rear 29 - Right Torso rear 2A-37 Data not deciphered! Seems that this part of the string is comprised mostly of zeros and changes along with the weapon outfit (and if it does not change this part of the data string does not change either). I don't know what it really does nor do I have any real clues on it. Ammo Ammo data are recorded on two bytes each. The first byte contains the amount of ammo remaining, whilst the second is always empty. 36-53 Weapon ammo (in rounds), as follows: 38-39 Autocannon/2 ammo 3A-3B Autocannon/5 ammo 3C-3D Autocannon/10 ammo 3E-3F LB 10-X Autocannon ammo 40-41 Gauss Rifle ammo 42-43 Autocannon/20 ammo 44-45 Machine Gun ammo 46-47 LRM-5 ammo 48-49 LRM-10 ammo 4A-4B LRM-15 ammo 4C-4D LRM-20 ammo 4E-4F SRM-2 ammo 50-51 SRM-4 ammo 52-53 SRM-6 ammo 54 - Number of Heat Sinks that are built into the engine. Normally in BT it is mech speed*tonnage/25, rounded down, unless the Mech has less heat sinks then this number. In CHR, however, this value does also never exceed 10. Note: There is NO place where Mech's total number of Heat Sinks is recorded. It is a sum of the HS built into the engine and those mounted on the hardpoints. Hardpoints Each byte represents a single hardpoint. In case if some weapon takes up more then one hardpoint, appropriate number of subsequent slots should be left empty. You should also leave one free hardpoint for each of the Mech's Jump Jets. 55 - Head hardpoint 56-5D - Left Arm hardpoints 5E-69 - Left Torso hardpoints 6A-6B - Center Torso hardpoints 6C-77 - Right Torso hardpoints 78-7F - Right Arm hardpoints 80-81 - Left Leg hardpoints 82-83 - Right Leg hardpoints 84 - Mech tonnage 85 - Zero in all known cases. 86-87 - These bytes are "clean" in case of mechs stored in Mechtype.dat as well as those that have not seen combat. They might mean any of the following: Some of Engine/Gyro/Sensor status Warrior experience (slim possibility, cause Warrior stats are recorded elsewhere in the file) Enemy Kills Something else? (But what!!!??? Pretty much everything else is covered!!!) 88 - Sprite ID - determines the set of graphics used by the game to draw the Mech, in other words this makes Crusader look like Crusader and not a mobile HQ or a Locust. The game often uses same set of graphics for more then one Mech. List of sprite ID's is on the end of document. Please note that altough the ID's of the Mech and Vehicle sprites might be the same, but there seem to be separate lists for them, so nothing like Mech with vehicle graphics or vice versa does really happen. 89-8A - In mechtype.dat these bytes always have a value of 00 04. In savegame.dat their value can vary, but seems to never exceed 00 04. Don't really know, maybe this represents the unit state or something. 8B - Don't know. AFAIK, zero at all times. Extras These bytes determine various upgrades installed, for example CASE, BAP, Double Heat Sinks etc. Most of them seems to work as if they were on/off switches, with value of 00 meaning not present and 01 - installed. 8C - Most definitely it sets Listen-Kill missiles. 8D - This one sets the Beagle Active Probe. 8E - Triggers Arrow IV TAG 8F - Enables Improved Accuracy 90 - This byte is responsible for Double Heat Sinks. 91 - Trigger for the CASE. MechWarrior 92 - This determines the MechWarrior's name. List of Mechwarrior names is at the end of document. 93 - Experience. As follows: 00 - Green 01 - Regular 02 - Veteran 03 - Elite 94 - This value determines the MechWarriors allegiance. Can assume following values: 00-Crescent Hawks 01-Kell Hounds 02-Fed. Suns Cav. Sword of Light 95 - For me it looks like identification of unit type or its movement mode. Always depends on unit type: 00 - Mech 01 - Hovercraft 02 - Tank 03 - Infantry 04 - APC 05 - Ammo Carrier 06 - Mobile HQ Hardpoint content list (*'s mean that number of subsequent hardpoints equal to number of *'s must be left empty - or at least it should be...) Destroyed slots add 80h to their value (81 - destroyed Small Laser, 88 - destroyed PPC etc) 00 Empty Slot 01 Small Laser 02 Small Pulse Laser (Not used anywhere in game, but weapon name listing in the revenge.exe indicates its presence here) 03 Medium Laser 04 Medium Pulse Laser 05 Large Laser * 06 Large Pulse Laser * 07 ER Large Laser * 08 PPC ** 09 ERPPC ** 0A AC/2 0B AC/5 *** 0C AC/10 ****** 0D LB 10-X***** 0E Gauss Rifle *** 0F AC/20 ********* 10 Machine Gun 11 LRM 5 12 LRM 10 ** 13 LRM 15 *** 14 LRM 20 **** 15 SRM 2 16 SRM 4 17 SRM 6 * 18 Heat Sink List of Mech and vechicle ID's (the IS Mechs with + and * after the name are upgraded to Level 2 tech): 00 LOCUST 01 WASP 02 STINGER 03 COMMANDO 04 JAVELIN 05 SPIDER 06 URBANMECH 07 VALKYRIE 08 FIRESTARTER 09 JENNER 0A OSTSCOUT 0B PANTHER 0C ASSASSIN 0D CICADA 0E CLINT 0F HERMES II 10 VULCAN 11 WHITWORTH 12 BLACKJACK 13 HATCHETMAN 14 PHOENIX HAWK 15 VINDICATOR 16 CENTURION 17 ENFORCER 18 HUNCHBACK 19 TREBUCHET 1A DERVISH 1B GRIFFIN 1C SHADOW HAWK 1D SCORPION 1E WOLVERINE 1F DRAGON 20 OSTROC 21 OSTOL 22 QUICKDRAW 23 RIFLEMAN 24 CATAPULT 25 CRUSADER 26 JAGERMECH 27 THUNDER BOLT 28 ARCHER 29 GRASSHOPPER 2A WARHAMMER 2B MARAUDER 2C ORION 2D AWESOME 2E CHARGER 2F GOLIATH 30 VICTOR 31 ZEUS 32 BATTLEMASTER 33 STALKER 34 CYCLOPS 35 BANSHEE 36 ATLAS 37 ROMMEL TANK 38 PEGASUS 39 DRILLSON 3A MOBILE HQ 3B APC 3C AMMO CARRIER 3D GALLEON 3E SKULKER 3F INFANTRY 40 JUMP INFANTRY 41 ELEMENTALS 42 PUMA 43 BLACKHAWK 44 MAD CAT 45 LOCUST+ 46 LOCUST* 47 WASP+ 48 WASP* 49 COMMANDO+ 4A COMMANDO* 4B BLACKJACK+ 4C PHOENIX HAWK+ 4D PHOENIX HAWK* 4E GRIFFIN+ 4F GRIFFIN* 50 RIFLEMAN+ 51 RIFLEMAN* 52 WARHAMMER+ 53 WARHAMMER* 54 MARAUDER+ 55 JENNER+ 56 DRAGON+ 57 SHADOW HAWK+ 58 BATTLEMASTER+ List of MechWarrior names: 00 Youngblood 01 Pearce 02 Graham 03 Anderson 04 Reilly 05 Casey 06 Corrigan 07 Hall 08 Hunter 09 Barth 0A Tatum 0B Ledesma 0C Bellamy 0D Latham 0E Louie 0F Christman 10 Townsend 11 Stewart 12 Bouy 13 Hill 14 Accardi 15 Briggs 16 Lebling 17 Galley 18 Blank 19 Meretzky 1A Moriarty 1B O'Neill 1C Berlyn 1D Kirsch 1E Berez 1F Dornbrook 20 Montague 21 Sgt. Krall 22 Youngblood 23 Anderson 24 Pearce 25 Romero 26 Carpenter 27 Cronenberg 28 DePalma 29 Dante 2A Raimi 2B Hooper 2C Cunningham 2D Chiun 2E Toranaga 2F Yamashita 30 Ichi 31 Hosaka 32 Higa 33 Sanjuro 34 Takagi 35 Jackson 36 Lewis 37 Wylie 38 Morton 39 Vandenburg 3A Trainee 3B Jason 3C Rex 3D Kurt 3E "Grease" Sprite ID's: Mechs: 00 COMMANDO, FIRESTARTER, SPIDER, STINGER, VALKYRIE, WASP 10 CICADA, JAVELIN, JENNER, LOCUST, OSTSCOUT 20 BLACKJACK, HATCHETMAN, HERMES II, WHITWORTH 30 ARCHER, CRUSADER, GRASSHOPPER, JAGERMECH, ORION, THUNDER BOLT, WARHAMMER 40 DRAGON, OSTOL, OSTROC, QUICKDRAW, RIFLEMAN, URBANMECH 50 CENTURION, ENFORCER, HUNCHBACK, PHOENIX HAWK, TREBUCHET, VINDICATOR 60 DERVISH, GRIFFIN, SCORPION, SHADOW HAWK, WOLVERINE 70 PUMA 80 BLACKHAWK 90 MAD CAT A0 ASSASSIN, CATAPULT, CLINT, MARAUDER, PANTHER, STALKER, VULCAN B0 ATLAS, AWESOME, BANSHEE, BATTLEMASTER, CHARGER, CYCLOPS, GOLIATH, VICTOR, ZEUS Vehicles: 50 MOBILE HQ 70 ROMMEL TANK 80 DRILLSON, PEGASUS 90 GALLEON, SKULKER B0 APC D0 AMMO CARRIER Infantry: D6 ELEMENTALS D8 INFANTRY, JUMP INFANTRY List of advanced Inner Sphere Mechs and their equipment: Key: LRM/SRM - Long Range Missile / Short Range Missile LPL/MPL/SPL - Large Pulse Laser / Medium Pulse Laser / Small Pulse Laser ERLL - Extended Range Large Laser ML/SL/LL - Medium Laser / Small Laser / Large Laser PPC - Particle Projection Cannon ERPPC - Extended Range Particle Projection Cannon MG - Machine Gun AC - Autocannon LB - LB-X "Shotgun" Autocannon Gauss - Gauss Rifle DHS - Double Heat Sinks BAP - Beagle Active Probe () - Cellular Ammunition Storage Equipment Crescent Hawk's Revenge Advanced Inner Sphere Mechs --------------------------------------------------- 20 Tons: Locust* : Undocumented [Guess: 2LRM5, same as 3050 LCT-3D] Locust+ : Undocumented [Guess: ML 4SL] Wasp* : 2SL MPL Wasp+ : MPL SRM2 () [Same as 3050 WSP-3M] 25 Tons: Commando* : 2SL SRM6 BAP Commando+ : 2ML SRM6 () 35 Tons: Jenner+ : 4ML SRM4 () [Same as 3050 JR7-K] 45 Tons: Blackjack+ : 2ERLL 2SRM4 () Phoenix Hawk* : 2MPL 2ERLL MG BAP () Phoenix Hawk+ : 2MPL 2ERLL DHS [Same as 3050 PXH-3K] 55 Tons: Griffin* : SL LPL LRM20 DHS Griffin+ : SL ERPPC LRM20 () DHS [Same as 3050 GRF-3M] Shadow Hawk+ : 3ML LB10X LRM20 SRM2 () DHS 60 Tons: Dragon+ : 3ML ERPPC LRM10 () DHS Rifleman* : 2ML 2LL 2ERPPC DHS [Same as 3050 RFL-5D] Rifleman+ : 2ML 2LL 2AC10 () DHS 70 Tons: Warhammer* : 2MPL 2ERPPC SRM4 () DHS Warhammer+ : 2MPL 2ERPPC SRM6 DHS 75 Tons: Marauder+ : 2MPL 2ERPPC Gauss () DHS [Same as 3050 MAD-5S] 85 Tons: Battlemaster+ : 6ML ERPPC BAP SRM6() The Locust* and Locust+ only appear in the Pacifica Training Ground Simulator that you get access to once you've completed the game. Credits: All number-crunching done by The Fifth Horseman (the_fifth_horseman@interia.pl). Mech list entries 0A-0F by The Fifth Horseman. Kudos to the author of the original article for list of Mech ID's and stats on advanced Inner Sphere Mechs.